The present invention generally relates to databases and more specifically to apparatus and methods for providing usage models for diagnosing performance problems in a database.
Enterprise databases continue to grow in size and number resulting in increased system management and administrative complexity. As the size and complexity of database systems increase, the likelihood that performance problems may result also increases. Analysis of the problems thus becomes an important task to properly maintain database systems.
Diagnosing performance problems in a database is a very involved task that makes use of a variety of different metrics and statistics. A database administrator (DBA) needs a great deal of expertise to interpret the statistics and arrive at a reasonable solution. Often, a DBA is alerted of a problem and then works with raw statistics to determine a cause of the problem. A DBA is left with a wealth of raw statistics that the DBA must analyze to determine any performance problems. The type of analysis performed is subjective in that the DBA may subjectively choose statistics to review that the DBA thinks may lead to determining a cause of a performance problem. The raw statistics presented to a DBA are often enormous and require extensive knowledge on the part of a DBA to analyze for problems, if at all possible. Also, even if problems are determined from the statistics, the problems found are often determined based on the subjective analysis performed by the DBA. Thus, the review of statistics may differ between different DBAs.
Moreover, when working proactively to identify problems with different time frames and in different situations, additional complexity and detail are added to the diagnosis of performance problems. It may be harder to find problems rather than solve problems that have been reported. A DBA may not be aware of the time period or statistics that need to be reviewed to determine any performance problems. For example, the type of analysis needed to be performed when a system is delayed, such as when a system's performance has been degraded or is hung, versus what is needed when optimizing the workload of a database as a whole is entirely different. A DBA may not perform the preferred analysis for the situation. Also, the type of analysis that is performed may differ depending on the DBA performing the analysis.
Accordingly, improved methods for diagnosing performance problems are desired.